package com.ruoyi.system.service.impl;

import java.util.List;

import com.ruoyi.common.core.domain.audit.HPatientAudit;
import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.system.mapper.HPatientAuditPassesMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.system.mapper.HPatientAuditMapper;
import com.ruoyi.system.service.IHPatientAuditService;

/**
 * 患者医保--审核Service业务层处理
 *
 * @author ruoyi
 * @date 2023-10-18
 */
@Service
public class HPatientAuditServiceImpl implements IHPatientAuditService {
    @Autowired
    private HPatientAuditMapper hPatientAuditMapper;

    @Autowired
    private HPatientAuditPassesMapper hPatientAuditPassesMapper;

    /**
     * 查询患者医保--审核
     *
     * @param id 患者医保--审核主键
     * @return 患者医保--审核
     */
    @Override
    public HPatientAudit selectHPatientAuditById(Long id)
    {
        return hPatientAuditMapper.selectHPatientAuditById(id);
    }

    /**
     * 查询患者医保--审核列表
     *
     * @param hPatientAudit 患者医保--审核
     * @return 患者医保--审核
     */
    @Override
    public List<HPatientAudit> selectHPatientAuditList(HPatientAudit hPatientAudit)
    {
        return hPatientAuditMapper.selectHPatientAuditList(hPatientAudit);
    }

    /**
     * 新增患者医保--审核
     *
     * @param hPatientAudit 患者医保--审核
     * @return 结果
     */
    @Override
    public int insertHPatientAudit(HPatientAudit hPatientAudit)
    {
        // 获取当前的用户
        LoginUser loginUser = SecurityUtils.getLoginUser();
        hPatientAudit.setCreateBy(loginUser.getUserId().toString());
        hPatientAudit.setCreateByName(loginUser.getUsername());
//        hPatientAudit.setAuditStatus(Long.parseLong("1"));
        hPatientAudit.setCreateTime(DateUtils.getNowDate());
        //往审核表中添加审核信息（状态为申请中）
        int type = hPatientAuditMapper.insertHPatientAudit(hPatientAudit);
        return type;
    }

    /**
     * 修改患者医保--审核
     *
     * @param hPatientAudit 患者医保--审核
     * @return 结果
     */
    @Override
    public int updateHPatientAudit(HPatientAudit hPatientAudit)
    {
        hPatientAudit.setUpdateTime(DateUtils.getNowDate());
        return hPatientAuditMapper.updateHPatientAudit(hPatientAudit);
    }

    /**
     * 批量删除患者医保--审核
     *
     * @param ids 需要删除的患者医保--审核主键
     * @return 结果
     */
    @Override
    public int deleteHPatientAuditByIds(Long[] ids)
    {
        return hPatientAuditMapper.deleteHPatientAuditByIds(ids);
    }

    /**
     * 删除患者医保--审核信息
     *
     * @param id 患者医保--审核主键
     * @return 结果
     */
    @Override
    public int deleteHPatientAuditById(Long id)
    {
        return hPatientAuditMapper.deleteHPatientAuditById(id);
    }

    @Override
    public Integer selectHPatientAuditCount() {
        return hPatientAuditMapper.selectHPatientAuditCount();
    }


//    @Override
//    public int passesHPatientAuditByIds(Long[] ids) {
//
//        List<HPatientAudit> hPatientAuditList = hPatientAuditMapper.selectInIds(ids);
//        HPatientAuditPasses hPatientAuditPasses = new HPatientAuditPasses();
//        for(HPatientAudit hPatientAuditOne : hPatientAuditList){
//            hPatientAuditPasses.setAuditStatusPasses(0L);
//            hPatientAuditPasses.setParentId(hPatientAuditOne.getId());
//            hPatientAuditPasses.setDepartment(hPatientAuditOne.getDepartment());
//            hPatientAuditPasses.setAddress(hPatientAuditOne.getDepartment());
//            hPatientAuditPasses.setCardNo(hPatientAuditOne.getCardNo());
//            hPatientAuditPasses.setGender(hPatientAuditOne.getGender());
//            hPatientAuditPasses.setMobile(hPatientAuditOne.getMobile());
//            hPatientAuditPasses.setName(hPatientAuditOne.getName());
//            System.out.println("hPatientAuditPasses====================="+hPatientAuditPasses);
//            hPatientAuditPassesMapper.insertHPatientAuditPasses(hPatientAuditPasses);
//        }
//        return 1;
//    }
}
